package com.itheima.mapper;

import com.itheima.bean.Student;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/*
    持久层接口
 */
public interface StudentMapper {

    //通过id与age查询
    /*@Param
    * 作用：给参数其名字
    * 当我们的sql语句中有多个参数，且没有封装到一个具体的对象时
    * 用其取具体的名字
    * 就能根据取得名字将参数值，正确的传入到sql语句中*/
    public abstract Student selectByIdAndAge(@Param("p1")Integer id, @Param("p2")Integer age);

    //查询全部
    public abstract List<Student> selectAll();

    //根据id查询
    public abstract Student selectById(Integer id);

    //新增数据
    public abstract Integer insert(Student stu);

    //修改数据
    public abstract Integer update(Student stu);

    //删除数据
    public abstract Integer delete(Integer id);

    //多条件查询
    public abstract List<Student> selectCondition(Student stu);

    //根据多个id查询
    public abstract List<Student> selectByIds(List<Integer> ids);
}
